package com.bot.nft.module.op.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bot.nft.module.op.domain.OpAirList;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bot.nft.module.op.domain.bo.OpAirListBo;
import com.bot.nft.module.op.domain.vo.OpAirListVo;

import java.util.List;

/**
 * <p>
 * 空投活动白名单服务类
 * </p>
 *
 * @author zhangkaige
 * @since 2024-01-24
 */
public interface IOpAirListService {

    /**
     * 分页查询空投白名单
     *
     * @param pageNo   当前页
     * @param pageSize 每页条数
     * @param airId    空投活动标识
     * @param phone    会员手机号关键字
     * @return 空投白名单
     */
    Page<OpAirListVo> getAirListPage(Integer pageNo, Integer pageSize, String airId, String phone);

    /**
     * 生成空投活动白名单
     *
     * @param airId 空投活动标识
     * @return 成功/true，失败/false
     */
    Boolean gneAirList(String airId);

    /**
     * 添加空头白名单
     *
     * @param opAirListBo 空投白名单信息
     * @return 成功/true，失败/false
     */
    Boolean addAirList(OpAirListBo opAirListBo);

    /**
     * 删除空投白名单
     *
     * @param id 空投白名单标识
     * @return 成功/true，失败/false
     */
    Boolean delAirListById(String id);

    /**
     * 根据空投活动标识查询空投白名单
     *
     * @param airId 活动标识
     * @return 空投活动白名单
     */
    List<OpAirList> getAirList(String airId);

}
